var express = require("express");
var router = express.Router();
// 导入模型
const {
    Admin
} = require("../models")
    // 展示登录表单
router.get("/login", function(req, res) {
    //渲染静态页面
    res.render('login.html')
});
// 验证登录信息
router.post('/login', async function(req, res) {
    // 接收表单数据
    const admin_name = req.body.admin_name.trim()
    const admin_password = req.body.admin_password.trim()
    if (admin_name.length === 0) {
        return res.jump('用户名不能为空', '/login')
    }
    if (admin_password.length === 0) {
        return res.jump('密码不能为空', '/login')
    }
    try {
        // 根据接收的用户名和密码和数据库中保存的用户名和密码进行验证
        const result = await Admin.findAll({
            where: {
                admin_name,
                // 密码进行sha1加密
                admin_password: require('sha1')(admin_password)
            }
        })
        if (result.length === 0) {
            return res.jump('用户名或者密码不正确', '/login')
        }
        // 登录成功
        // 1.记住用户登录状态（session）
        const login7 = req.body.login7
            // 判断用户是否勾选了7天免登录
        if (login7) {
            // 勾选了，使用cookie来保存用户登录状态
            res.cookie('admin_name', admin_name, {
                maxAge: 3600 * 24 * 7 * 1000
            })
            res.cookie('is_login', true, {
                maxAge: 3600 * 24 * 7 * 1000
            })
            res.cookie('id', result[0].id, {
                maxAge: 3600 * 24 * 7 * 1000
            })
        } else {
            //未勾选，使用session来保存
            req.session.is_login = true
            req.session.id = result[0].id
            req.session.admin_name = admin_name
        }
        // 2.跳转到后台首页
        res.jump('登录成功', '/', 1)
    } catch (e) {
        console.log(e.error)
    }
})

// 退出登录
router.get('/logout', (req, res) => {
    // 清除cookie或者session
    if (req.cookies.is_login) {
        res.clearCookie('is_login')
        res.clearCookie('admin_name')
        res.clearCookie('id')
    }
    if (req.session.is_login) {
        req.session.is_login = null
        req.session.admin_name = null
        req.session.id = null
    }
    res.jump('退出成功', '/login', 2)
})

module.exports = router;